package com.ym.medical.domain.bo;

import com.alibaba.fastjson.JSONObject;
import com.ym.medical.domain.entity.UserEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Map;

@ApiModel("推送内容")
public class PushBean {

	/**
	 * 必填, 通知内容, 内容可以为空字符串，则表示不展示到通知栏。
	 */
	@ApiModelProperty(value = "必填, 通知内容, 内容可以为空字符串，则表示不展示到通知栏", required = true)
	private String alert;

	/**
	 * 可选, 附加信息, 供业务使用。
	 */
	@ApiModelProperty(value = "扩展字段", required = false)
	private PushBeanExtraVo extras;

	/**
	 * android专用// 可选, 通知标题	如果指定了，则通知里原来展示 App名称的地方，将展示成这个字段。
	 */
	@ApiModelProperty(value = " android专用 可选, 通知标题如果指定了，则通知里原来展示 App名称的地方，将展示成这个字段。")
	private String title;


	public String getAlert() {
		return alert;
	}

	public void setAlert(String alert) {
		this.alert = alert;
	}

	public Map<String, String> getExtras() {
		if (this.extras == null) {
			return null;
		}
		String json = JSONObject.toJSONString(this.extras);
		UserEntity whoPush = this.extras.getWhoPush();
		UserEntity pushWho = this.extras.getPushWho();
		Map<String, String> jsonObject = JSONObject.parseObject(json, Map.class);
		String whoPushStr = JSONObject.toJSONString(whoPush);
		String pushWhoStr = JSONObject.toJSONString(pushWho);
		Map<String, String> whoPushMap = JSONObject.parseObject(whoPushStr, Map.class);
		Map<String, String> pushWhoMap = JSONObject.parseObject(pushWhoStr, Map.class);
		jsonObject.put("whoPush", JSONObject.toJSONString(whoPushMap));
		jsonObject.put("pushWho", JSONObject.toJSONString(pushWhoMap));
		return jsonObject;
	}

	public PushBeanExtraVo getExtrasBean() {
		return this.extras;
	}

	public void setExtras(PushBeanExtraVo extras) {
		this.extras = extras;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}
}

